package com.ruoyi.system.service;

import com.ruoyi.system.domain.SpokenUser;
import com.ruoyi.system.domain.SpokenUserCourseTime;
import com.ruoyi.system.domain.model.MiniRegisterBody;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ISpokenUserService {

    /**
     * 添加用户
     * @param user
     * @return
     */
    public int insert(SpokenUser user);

    /**
     * 查询用户
     */
    public SpokenUser selectById(Long userId);

    /**
     * 用户列表
     */
    public List<SpokenUser> selectList(SpokenUser user);

    /**
     * 编辑用户
     */
    public int update(SpokenUser user);

    /**
     * 小程序授权注册
     */
    public SpokenUser wechatRegister(MiniRegisterBody miniRegisterBody);

    /**
     * 小程序登录
     */
    public SpokenUser wechatLogin(String code);

    /**
     * 获取手机号
     */
    public String getWechatPhoneNumber(String code);

    /**
     * 根据用户ID查询用户选择的课时日期
     */
    public List<SpokenUserCourseTime> selectUserCourseTimeDate();


    /**
     * 查询用户对应日期选择的课时信息
     */
    public List selectCourseTimeInfoByDate(String chooseDate);

    /**
     * 查询用户数量
     */
    public Integer selectUserCount(@Param("startDate") String starDate, @Param("endDate") String endDate);
}
